Monitoring computer in a control device

ABSTRACT

A monitoring computer for monitoring a processor, on which processor a computing element is executed. The computing element essentially includes three program modules by which the performance of the motor vehicle is influenced. The processor includes a functional computer and a monitoring computer that is physically independent of the functional computer, wherein the monitoring computer includes two monitoring units that are independent of each other.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is the U.S. National Phase Application of PCT/DE2010/001492, filed Dec. 20, 2010, which claims priority to German Patent Application No. 10 2009 059 087.0, filed Dec. 18, 2009, the contents of such applications being incorporated by reference herein.

FIELD OF THE INVENTION

The invention relates to a monitoring computer for monitoring a processor, to a processor and to a method for monitoring a processor according to the preambles of the independent claims.

There are various concepts for designing a control device with a computing element for the use in a motor vehicle in such a manner that the control device is free of single defects or inherently safe. Monitoring in the three-layer concept is one possibility of achieving an inherently safe control device.

BACKGROUND OF THE INVENTION

A method and a device for controlling a drive unit of a vehicle are known from DE 44 38 714 A1, which is incorporated by reference, wherein the control device for power control has a single computing element only. The computing element performs both switch-off path control and monitoring, wherein operational reliability and service quality are guaranteed by at least two layers for control and monitoring being provided in a single computing element, said layers being independent of each other, wherein the functions for power control are determined in a first layer and said functions, and thus the operatability of the computing element itself, are monitored in a second layer, particularly in cooperation with a monitoring module.

Furthermore, DE 44 38 714 A1 describes a third layer that performs a program flow check of the second layer. This monitoring by the third layer considerably enhances the reliability and service quality of the control device. In particular, the program flow check in the monitoring module is performed in the form of dialog communication.

The three-layer monitoring concept (E-Gas concept) is preferably used in engine control devices of vehicles to monitor electronic engine control systems, wherein the engine control device consists of the so-called functional computer and the monitoring computer. The functional computer and the monitoring computer communicate by means of a dialog method and have separate switch-off paths.

Layer 1 comprises the actual functional module for the functional control of the drive unit of the vehicle and is therefore also referred to as “functional layer”. It includes engine control functions, inter alia for the conversion of the requested engine torques, component monitoring, the diagnosis of the input and output quantities, and the control of the system reactions when an error has been detected. Layer 1 is executed on the functional computer.

Layer 2 is also referred to as “function monitoring layer”. It comprises the safety module and is also executed on the functional computer. It detects the defective execution of a monitoring-relevant extent of the functional module of Layer 1, inter alia by monitoring the calculated torques or the vehicle acceleration. In the event of an error, system reactions are triggered, e.g., safety-relevant output stages are disabled.

Layer 2 is executed in a functional-computer hardware area that is secured by Layer 3. Layer 3 is also referred to as “computer monitoring layer”. It comprises the monitoring module on an independent functional computer with instruction set test, program flow check, ADC test as well as cyclic and complete memory tests of Layer 2. The monitoring module is executed on a functional computer. The monitoring computer that is independent of the functional computer tests the proper processing of the program instructions of the functional computer, said test being a dialog method. In the event of an error, system reactions are triggered independently of the functional computer.

In present-day electronic engine control systems, the entire functional and monitoring software is integrated in a control device. The monitoring concept may also be realized in other vehicle control devices, in particular in gear control devices.

Monitoring concepts in which a monitoring computer performs more than one program flow check in the functional computer by means of a single monitoring unit are known from the state of the art, wherein said single monitoring unit has to synchronize the individual responses from the individual program flow checks as well as to merge the individual responses into an overall response, wherein errors may occur both in the synchronizing operation and in the response merger operation.

BRIEF DESCRIPTION OF THE INVENTION

Therefore, improving the known monitoring computers for monitoring a processor in a motor vehicle control device is desirable.

According to an aspect of the invention, a monitoring computer for monitoring a processor, on which processor a computing element is executed, wherein the processor essentially comprises a functional computer apart from the monitoring computer, and wherein the computing element comprises a functional module, a safety module and a monitoring module, all modules can be executed on the functional computer and the monitoring computer communicates with at least the monitoring module on the functional computer by a dialog method via an interface, wherein the functional computer and the monitoring computer are physically independent of each other and the monitoring computer comprises two monitoring units that are independent of each other, wherein for monitoring the proper processing of the program instructions of the functional computer, one check each can be performed in the functional computer by each monitoring unit by a corresponding monitoring element is provided.

The processor essentially comprises a monitoring computer and a functional computer. A computing element is executed on the processor. The computing element particularly comprises three software program modules: a functional module for the functional control of the motor vehicle, a safety module for checking the functional module, and a monitoring module at least for checking the safety module. The monitoring computer communicates with the monitoring module on the functional computer by means of a dialog method via an interface.

In particular, the monitoring computer and the functional computer are designed as hardware components that are physically independent of each other. Advantageously, the monitoring computer comprises two monitoring units that are functionally independent of each other, wherein each monitoring unit designed in the form of hardware can perform one check each in the functional computer by means of a corresponding monitoring element designed in the form of software, the purpose of said checks consisting in monitoring the proper processing particularly of the program instructions of the functional computer, whereby one particularly makes the program flow check faster and the checks safer.

As a first check, the first monitoring unit performs particularly a memory test and a program flow check in the safety module by means of the first monitoring element. Furthermore, the second monitoring unit performs, as a second check, particularly an instruction set test and an ADC test in the monitoring module by means of the second monitoring element. Advantageously, the respective checks are performed in so-called test paths.

It is particularly important to emphasize that one error counter each can be operated in the event of an error occurring in one of the two checks and a system reaction can be triggered by the monitoring module independently of the functional module when freely programmable error reaction thresholds are exceeded. Such a system reaction may consist in putting the vehicle in a restricted emergency mode that enables the vehicle to only just roll to a stop on the hard shoulder of a roadway, for example.

For enhanced safety, error counting may be asymmetrical, for example, i.e., counting up twice in the event of a wrong response occurring in the dialog method, but counting down only once in the event of a correct response.

Particularly when the control device is switched on, one state machine each for configuring the associated monitoring unit is passed through in the computing element. A state machine is a behavioural model consisting of states, state transitions and actions. A state stores the information about the past and reflects the changes in the input that have occurred in the period from the system start-up till the current moment. A state transition shows a change in the state of the state machine and is described by logical conditions that must be fulfilled in order to make the transition possible. An action is the output of the state machine that occurs in a certain situation.

Preferably, the corresponding monitoring unit is configured in the computing element when the control device is initialized. In this process, e.g., a response time and a response time window of the dialog method as well as a disable threshold and a reset threshold are fixed by means of the associated state machine in each case apart from other parameters, wherein it is quite possible that the parameters are not the same for each monitoring unit. Alternatively, both monitoring units may be equally configured.

If both state machines have been passed through successfully, the two monitoring units advantageously start the monitoring of the computing element by means of the respective monitoring element.

In particular, the outputs of the monitoring computer are complementary outputs, i.e., when one output is on a high level, the other one is on a low level. In the event of a chip breakdown, both outputs will be on a high level or on a low level in all probability, whereby the safety-critical output stages are in the off-state via the switch-off path.

The response time that is fixed while the state machine is passed through is essentially freely configurable and is usually in the range between 1 ms and 255 ms. Typical error reaction times are in the order of approximately 60 ms. However, this time may vary dependently on the design of the gears, the customer's needs, etc. The above-mentioned range was selected as a compromise between the greatest possible degree of configurability and the effort that has to be made for implementation.

The response time window is also fixed in the state machine and is primarily in the range between 1 ms and 255 ms.

The response time is the latest possible moment for sending the response. Secondly, a “closed window” is configured. A response must not be sent here. The difference between the response time and the “closed window” is the “open window” (response time window). In particular, the ratio that the response time bears to the response time window is freely scalable. A possible functional-software error (e.g., wrong timing) may result in the correct responses being sent too early. Because of the “closed window”, these responses that are sent too early are not accepted as correct responses so that the error counter is incremented.

Advantageously, a switch-off path check is a separate state in the state machine so that the responses from the dialog between the monitoring computer and the functional computer can be sent as fast as possible with no consideration for the response time window. Thus, the run-up time of the system can be kept short. A switch-off path check can be used to check whether the functional computer or the monitoring computer can correctly disable the safety-relevant output stages in the event of an error, for example.

A continuous checksum test (CRC test) can be performed on the monitoring computer in the background so that possible bit errors (caused by, e.g., EMC interferences) are mainly detected in the configuration data. These errors usually result in the switch-off path being triggered.

In particular, random number generation in connection with the selection of the inquiries in the dialog method is performed by means of a linear feedback shift register in order to make a prediction of the next inquiry impossible. The monitoring units MU1 and MU2 include one linear feedback shift register each.

A further aspect of the invention provides a processor with an above-described monitoring computer in a control device of a motor vehicle, said processor being improved as against the cited state of the art.

According to the invention, this object is achieved by a processor with a functional computer and a monitoring computer, wherein a computing element for controlling at least one function of a motor vehicle dependently on at least one input quantity is executed on the processor and the monitoring computer communicates with the functional computer by means of a dialog method via an interface, wherein the functional computer and the monitoring computer are physically independent of each other and the monitoring computer comprises two monitoring units that are independent of each other, wherein for monitoring the proper processing of the program instructions of the functional computer, one check each can be performed in the functional computer by each monitoring unit by means of a corresponding monitoring element.

As set out in detail above, the computing element that is executed on the processor of the control device essentially comprises the three program modules “functional module”, “safety module” and “monitoring module”. The processor is particularly subdivided into a functional computer and a monitoring computer, wherein the functional module, the safety module and the monitoring module are executed on the functional computer. The monitoring computer usually communicates with the functional computer by means of a dialog method via an interface.

The core of the invention consists in the functional computer and the monitoring computer being physically independent of each other in particular and the monitoring computer furthermore comprising two monitoring units that are functionally independent of each other. For monitoring the proper processing of the program instructions of the functional computer, one check each can be advantageously performed in the functional computer by each monitoring unit by means of a corresponding monitoring element, whereby the checking method can be advantageously accelerated and made safer.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following description, the features and details of the invention will be explained in greater detail on the basis of exemplary embodiments in connection with the attached drawings, wherein the features and contexts described in individual variants are applicable in principle to all exemplary embodiments. In the drawings,

FIG. 1 shows a three-layer concept subdivided into modules (software) and computers (hardware), and

FIG. 2 shows a state machine with states, transitions and conditions.

DETAILED DESCRIPTION OF THE INVENTION

In FIG. 1, the boxes marked with dot-dash lines or dashed lines show one hardware component each. The boxes marked with continuous lines show one software component each. The straight arrows between the boxes show one data exchange each.

FIG. 1 shows a three-layer monitoring model that is basically known from the E-Gas concept, said model being used, e.g., in an engine control device or in a gear control device in motor vehicles.

The first box marked with a dot-dash line indicates the functional computer (FR) of the processor. The second box marked with a dot-dash line indicates the monitoring computer (UR) of the processor. The functional computer (FR) and the monitoring computer (UR) are arranged on the processor in such a manner that they are physically separate from each other. The monitoring computer (UR) may be an ASIC computer, for example. The three program modules functional module (E1), safety module (E2) and monitoring module (E3) are executed on the functional computer (FR).

The functional module (E1) represents Layer 1 of the E-Gas concept, which Layer 1 is also referred to as “functional layer”. Layer 1 is particularly used for the functional control of the drive unit of the vehicle. As explained above, Layer 1 includes, e.g., engine control functions, inter alia for the conversion of the requested engine torques, component monitoring, the diagnosis of the input and output quantities, and the control of the system reactions when an error has been detected.

The safety module (E2) represents Layer 2 of the E-Gas concept, which Layer 2 is also referred to as “function monitoring layer”. Layer 2 detects the defective execution of a monitoring-relevant extent of the functional module (E1) of Layer 1. In particular, the calculated torques or, e.g., the vehicle acceleration are monitored. The occurrence of an error particularly results in system reactions being triggered. The safety module (E2) is primarily executed in a hardware area of the functional computer (FR), said hardware area being secured by the monitoring module (E3).

The monitoring module (E3) represents Layer 3 of the E-Gas concept, which Layer 3 is also referred to as “computer monitoring layer”. The monitoring module (E3) is particularly executed on the functional computer (FR) that is independent of the monitoring computer (UR). The monitoring computer (UR) tests the proper processing of the program instructions of the functional computer (FR), said test being at least one dialog method, for example. The occurrence of an error particularly results in system reactions being triggered independently of the functional computer (FR).

The monitoring computer (UR) essentially comprises two monitoring units (MU1, MU2) that are independent of each other. On each monitoring unit (MU1, MU2), a corresponding monitoring element (ME1, ME2) is executed for checking (K1, K2) the safety module (E2) and the monitoring module (E3), respectively.

For example, the first monitoring unit (MU1) performs, as a first check (K1), a memory test and a program flow check in the safety module (E2) by means of the first monitoring element (ME1) via the first test path (TP1).

The second monitoring unit (MU2) preferably performs, as a second check (K2), an instruction set test and an ADC test in the monitoring module (E3) by means of the second monitoring element (ME2) via the second test path (TP2), said second check (K2) being performed parallel to and independently of check (K1). The second check (K2) could also be performed on the first monitoring unit (MU1) by means of the first monitoring element (ME1) via the first test path (TP1), and vice versa.

In particular, the aforementioned program flow check is performed in the form of a dialog between a monitoring unit (MU1, MU2) and the functional computer (FR). The corresponding inquiries are generated, e.g., in an inquiry generator (FG) that is assigned to a monitoring element (ME1, ME2). The inquiry generators (FG) are equally designed, but the inquiries are selected at random so that the inquiries of the monitoring unit (MU1) and those of the monitoring unit (MU2) practically differ from each other in each case.

In the event of an error occurring during the check (K1, K2), one error counter each is advantageously incremented. When a corresponding freely programmable error reaction threshold is exceeded, a system reaction is triggered particularly by the monitoring module (E3) independently of the functional module (E1). The freely programmable error reaction thresholds may be different for different system reactions, such as disabling the safety-relevant output stages or resetting the functional computer (FR). When one of the monitoring units (MU1, MU2) generates a reset, the complete system including the state machine (SM1, SM2) and the functional computer (FR) is reset. For example, configuration could also be such that only errors of the monitoring unit (MU1) result in a reset and errors of the monitoring unit (MU2) only result in the safety-relevant output stage being disabled.

Furthermore, the generation of a reset instruction as an error reaction may be optionally enabled or disabled.

Advantageously, the outputs (URA) of the monitoring computer (UR) are complementary outputs. In the event of a total loss of power of the monitoring computer (UR) that is, e.g., an ASIC computer (caused by, e.g., a chip breakdown or a latchup, i.e., a transition of a semiconductor component to a low-impedance state), it is assumed that all outputs of the monitoring computer (UR) are simultaneously on a high level or simultaneously on a low level. In such a case, the complementary outputs, together with external wiring (not shown), make sure that the safety path of the system, and thus the safety-relevant output stages of the system, are disabled. The external wiring consists of e.g., resistors and transistors and makes sure that only just one combination of the complementary outputs enables the safety-relevant output stages.

FIG. 2 shows a state machine. Advantageously, the state machine can be realized with little hardware, wherein this embodiment of the state machine is faster, safer and less interference-prone than a state machine realized in the form of software. Furthermore, it cannot be manipulated. As set out in the introductory part of the description, a state machine is a behavioural model consisting of states, state transitions and actions. A state stores the information about the past and reflects the changes in the input that have occurred in the period from the system start-up till the current moment. A state transition shows a change in the state of the state machine and is described by logical conditions that must be fulfilled in order to make the transition possible. An action is the output of the state machine that occurs in a certain situation. In digital circuits, the state machines are mainly realized by stored program control systems, logic gates, flip-flops or relays. For the implementation of the hardware, one usually uses a register for storing the state variables, a logic unit that selects the state transitions, and a further logic unit that is responsible for the output. A specific state machine (SM1, SM2) is assigned to each monitoring element (ME1, ME2).

The (INIT) state is taken on when the control device is initialized or after a reset of the control device. In the (INIT) state, the monitoring unit (MU1, MU2) is configured by the functional module (E1) via a communications interface between the monitoring computer (UR) and the functional computer (FR), wherein particularly the response time, the response time window, the error reaction threshold, especially the disable threshold (thresh) and the reset threshold (reset thresh) are fixed.

The response time that is fixed while the state machine (SM1, SM2) is passed through is essentially freely configurable and is usually in the range between 1 ms and 255 ms.

In particular, the response time window is also fixed in the state machine and is primarily in the range between 1 ms and 255 ms. In particular, the ratio that the response time bears to the response time window is freely scalable.

Furthermore, the initial value of the error counter is automatically set above the disable threshold (thresh) in order to make sure that the error counter remains disabled in the (INIT) state. By action (EOI) (=End Of INIT State), the configuration of the monitoring element (ME1, ME2) is completed and cannot be changed anymore. Thus, the state transition to state (SOPCDIS) (=Switch Off Path Check Disable) is accomplished, wherein (SOPC) is the switch-off path check, wherein a switch-off path check can guarantee that the functional computer or the monitoring computer can correctly disable the safety-relevant output power stages in the event of an error, for example. In this state, the output power stages are not enabled, yet.

During the switch-off path check, states (SOPCDIS) and (SOPCENA) are taken on in the state machine. The output stages are disabled in the first state and enabled in the second state. The advantage of this solution consists in the fact that the responses can be sent during the switch-off path check as fast as possible with no consideration for the response time window. Thus, the run-up time of the system can be kept short.

When state (SOPCDIS) is reached, the SOPC timer is started among other things. The SOPC timer measures the time until instruction (EOSOPC) (=End of SOPC). If the check takes too long, it is aborted and the transition from state (SOPCDIS) to state (RESET) is executed by means of action (SOPC timeout).

In state (SOPCDIS), the dialog between the monitoring computer (UR) and the functional computer (FR) preferably starts without any time restriction in order to perform the check as fast as possible, i.e., the response time window is open. The error counter is incremented in the event of a wrong response. If the error counter is below a disable threshold (thresh), the transition to state (SOPCENA) (=Switch Off Path Check Enable) is executed, in particular immediately, via condition (EC<disable thresh). Thus, the output power stages are enabled.

The transition from state (SOPCDIS) to state (DISABLE) is executed via condition (EOSOPC) (=End Of Switch Off Path Check) that is triggered by the communications interface between the functional computer (FR) and the monitoring computer (UR). The output power stages remain disabled, as defined in state (SOPCDIS). The only condition is the correct command before condition (SOPC timeout) expires.

When state (SOPCENA) is reached, in particular starting from state (SOPCDIS), the SOPC timer advantageously runs on. The dialog between the monitoring computer (UR) and the functional computer (FR) runs on without any time restriction in this state, too. When the error counter has reached or exceeded a disable threshold (thresh), a transition back to state (SOPCDIS) is particularly executed via condition (EC>=disable thresh).

If the switch-off path check takes too long, it is aborted and the transition from state (SOPCENA) to state (RESET) is executed via condition (SOPC timeout). The following transition from state (RESET) to state (INIT) is executed automatically.

The transition from state (SOPCENA) to state (NORMAL) is mainly executed via condition (EOSOPC) that is triggered by the communications interface again.

In state (NORMAL), the output power stages are enabled unless they were enabled in a previous state. In this state, the dialog between the monitoring computer (UR) and the functional computer (FR) is continued, wherein particularly the count of the error counter is taken over from the previous state. In contrast to states (SOPCENA) and (SOPCDIS) of the switch-off path check, there is preferably a time restriction with regard to the response time and the response time window in this state.

For ensuring runtime monitoring of the operating system of the functional computer, the response must not come too early or too late. The response time is the latest possible moment for sending the response. Secondly, a “closed window” is configured. A response must not be sent here. The difference between the response time and the “closed window” is the “open window” (response time window).

The response time and the response time window were programmed before in state (INIT). The error counter is advantageously incremented both in the event of a wrong response and in the event of the response time or the response time window being exceeded. In the event of a disable threshold (thresh) being reached or exceeded, the transition to state (DISABLE) is executed via condition (EC>=disable thresh).

In state (DISABLE), the output power stages are disabled. In this state, the dialog between the monitoring computer (UR) and the functional computer (FR) is continued with the count of the error counter being unchanged. There is a time restriction with regard to the response time and the response time window in this state, too. The error counter is incremented, also in this state, both in the event of a wrong response and in the event of the response time or the response time window being exceeded. In the event of the threshold (thresh) being fallen below, the transition back to state (NORMAL) is executed via condition (EC<disable thresh). In state (NORMAL), the output power stages are enabled again.

As soon as the error counter has reached a reset threshold (reset thresh) in state (DISABLE) and the register for reset enable has the preset value of 1, the transition to state (RESET) is executed via condition (EC>=reset thresh AND i_req_rst_en=1). The following transition from state (RESET) to state (INIT) is executed automatically again.

The state (SOPCENA) may be omitted in the state machine in order to make overall execution in the state machine even faster. There will be no fast switch-off path check in this case.

If both state machines have been passed through successfully, the two monitoring units advantageously start the monitoring of the computing element by means of the respective monitoring element in state (NORMAL).

In summary, it can be concluded that the inventive monitoring concept for monitoring a computing element in a control device of a motor vehicle represents an improvement as against the known monitoring concepts with regard to swiftness, programming effort and safety. 

1.-15. (canceled)
 16. A monitoring computer for monitoring a processor, on which processor a computing element is executed, wherein the processor essentially comprises a functional computer apart from the monitoring computer, and wherein the computing element comprises a functional module, a safety module and a monitoring module, all modules can be executed on the functional computer and the monitoring computer communicates with at least the monitoring module on the functional computer by a dialog method via an interface, wherein the functional computer and the monitoring computer are physically independent of each other and the monitoring computer comprises two monitoring units that are independent of each other, wherein for monitoring the proper processing of the program instructions of the functional computer, one check each can be performed in the functional computer by each monitoring unit a corresponding monitoring element.
 17. The monitoring computer according to claim 16, wherein a first check can be performed in the safety module by the first monitoring unit in the test path and a second check can be performed in the monitoring module by means of the second monitoring unit in the test path.
 18. The monitoring computer according to claim 16, wherein a memory check and a program flow check can be performed in the safety module by the first monitoring unit as a first check.
 19. The monitoring computer according to claim 16, wherein an instruction set test and an ADC test can be performed in the monitoring module by the second monitoring unit as a second check.
 20. The monitoring computer according to claim 16, wherein an error counter can be operated in the event of an error occurring in the check and a system reaction can be triggered by the monitoring computer independently of the functional computer when freely programmable error reaction thresholds are exceeded.
 21. The monitoring computer according to claim 20, wherein error counting is asymmetrical.
 22. The monitoring computer according to claim 16, wherein a response time, a response time window, a disable threshold and a reset threshold can be fixed in the computing element apart from other parameters when the corresponding monitoring unit is configured when the processor is initialized, wherein it is possible that the parameters are not the same for each monitoring unit, said fixing being performed by a state machine, respectively.
 23. The monitoring computer according to claim 22, wherein the response time is freely configurable in the range between 1 ms and 255 ms.
 24. The monitoring computer according to claim 22, wherein the response time window is in the range between 1 ms and 255 ms, wherein the ratio that the response time bears to the response time window is freely scalable.
 25. The monitoring computer according to claim 16, wherein the outputs of the monitoring computer are complementary outputs.
 26. The monitoring computer according to claim 16, wherein a switch-off path check is a separate state in the state machine.
 27. The monitoring computer according to claim 16, wherein a continuous CRC test can be performed in the background.
 28. The monitoring computer according to claim 16, wherein random number generation for the selection of the inquiries in the dialog method is performed by a linear feedback shift register.
 29. A processor with a functional computer and a monitoring computer according to claim 16, wherein a computing element for controlling at least one function of a motor vehicle dependently on at least one input quantity is executed on the processor and the monitoring computer communicates with the functional computer by a dialog method via an interface, wherein the functional computer and the monitoring computer are physically independent of each other and the monitoring computer comprises two monitoring units that are independent of each other, wherein for monitoring the proper processing of the program instructions of the functional computer, one check each can be performed in the functional computer by each monitoring unit by a corresponding monitoring element.
 30. A method for monitoring a processor according to claim 29, wherein the functional computer and the monitoring computer are physically independent of each other and the monitoring computer comprises two monitoring units that are independent of each other, wherein for monitoring the proper processing of the program instructions of the functional computer, one check each is performed in the functional computer by each monitoring unit by a corresponding monitoring element. 